home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / dev / basic / ace24dist.lha / ace24.lha / include / Exec / libraries.h < prev    next >
C/C++ Source or Header  |  1996-09-10  |  2KB  |  80 lines

  1. #ifndef EXEC_LIBRARIES_H
  2. #define EXEC_LIBRARIES_H 1
  3. /*
  4. ** libraries.h for ACE Basic
  5. **
  6. ** Note: Translated to ACE by ConvertC2ACE
  7. **       @ MapMeadow Software, Nils Sjoholm
  8. **
  9. **
  10. ** Date: 09/02/95
  11. **
  12. **
  13. */
  14.  
  15. /*
  16. ** This are the StructPointer defines for libraries.h
  17. */
  18. #ifndef LibraryPtr
  19. #define LibraryPtr ADDRESS
  20. #endif
  21. /*
  22. ** End of StructPointer defines for libraries.h
  23. */
  24.      
  25. #ifndef EXEC_NODES_H
  26. #include <exec/nodes.h>
  27. #endif /* EXEC_NODES_H */
  28.  
  29.  
  30.  
  31. /*------ Special Constants ---------------------------------------*/
  32. #define LIB_VECTSIZE    6   /* Each library entry takes 6 bytes */
  33. #define LIB_RESERVED    4   /* Exec reserves the first 4 vectors */
  34. #define LIB_BASE    (-LIB_VECTSIZE)
  35. #define LIB_USERDEF (LIB_BASE-(LIB_RESERVED*LIB_VECTSIZE))
  36. #define LIB_NONSTD  (LIB_USERDEF)
  37.  
  38. /*------ Standard Functions --------------------------------------*/
  39. #define LIB_OPEN    (-6)
  40. #define LIB_CLOSE   (-12)
  41. #define LIB_EXPUNGE (-18)
  42. #define LIB_EXTFUNC (-24)   /* for future expansion */
  43.  
  44.  
  45. /*------ Library Base Structure ----------------------------------*/
  46. /* Also used for Devices and some Resources */
  47. STRUCT _Library  
  48.     Node lib_Node 
  49.     BYTE    lib_Flags 
  50.     BYTE    lib_pad 
  51.     SHORTINT   lib_NegSize         /* number of bytes before library */
  52.     SHORTINT   lib_PosSize         /* number of bytes after library */
  53.     SHORTINT   lib_Version         /* major */
  54.     SHORTINT   lib_Revision        /* minor */
  55.     ADDRESS    lib_IdString        /* ASCII identification */
  56.     LONGINT   lib_Sum             /* the checksum itself */
  57.     SHORTINT   lib_OpenCnt         /* number of current opens */
  58. END STRUCT   /* Warning: size is not a longword multiple! */
  59.  
  60. /* lib_Flags bit definitions (all others are system reserved) */
  61. #define LIBF_SUMMING    (1)      /* we are currently checksumming */
  62. #define LIBF_CHANGED    (2)      /* we have just changed the lib */
  63. #define LIBF_SUMUSED    (4)      /* set if we should bother to sum */
  64. #define LIBF_DELEXP (8)      /* delayed expunge */
  65.  
  66.  
  67. /* Temporary Compatibility */
  68. #define lh_Node lib_Node
  69. #define lh_Flags    lib_Flags
  70. #define lh_pad      lib_pad
  71. #define lh_NegSize  lib_NegSize
  72. #define lh_PosSize  lib_PosSize
  73. #define lh_Version  lib_Version
  74. #define lh_Revision lib_Revision
  75. #define lh_IdString lib_IdString
  76. #define lh_Sum      lib_Sum
  77. #define lh_OpenCnt  lib_OpenCnt
  78.  
  79. #endif  /* EXEC_LIBRARIES_H */
  80.